﻿<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
    <link href="favicon.svg" rel="Shortcut Icon" type="image/svg" />

    <title>netnrf响应式框架</title>

    <meta name="keywords" content="netnrf,netnrf响应式框架,响应式框架,Bootstrap后台框架" />
    <meta name="description" content="netnrf响应式框架,基于Ace Admin框架菜单导航,Bootstrap布局,fontAwesome图标,内嵌Iframe用EasyUI做数据绑定,动态配置列表,动态配置表单。" />

    <link href="https://code.bdstatic.com/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://code.bdstatic.com/npm/netnrmd@2.2.2/src/netnrmd.css" rel="stylesheet">

</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-12 my-4 markdown-body">
                <h1>netnrf 响应式框架</h1>
                <blockquote>
                    <p>用于快速开发的响应式框架</p>
                </blockquote>
                <blockquote>
                    <p>演示一：<a href="https://rf2.netnr.com">https://rf2.netnr.com</a><br>演示二：<a href="https://free-rf.zme.ink">https://free-rf.zme.ink</a></p>
                </blockquote>
                <h3><a href="changelog">更新日志</a></h3>
                <h3><a href="document">文档说明</a></h3>
                <h3>v3.x</h3>
                <ul>
                    <li>前端采用 jQuery + Bootstrap + EasyUI + AceAdmin + fontAwesome</li>
                    <li>
                        后端采用 .NET Core + EF + SQL（SQLServer、MySQL、PostgreSQL、SQLite）<ul>
                            <li>数据库脚本放置于 <code>wwwroot/scripts/</code>目录下</li>
                            <li>数据库转换使用的工具：<a href="https://fishcodelib.com/DBMigration.htm">https://fishcodelib.com/DBMigration.htm</a></li>
                            <li>全部采用 LINQ，跨数据库、避免SQL注入</li>
                        </ul>
                    </li>
                    <li>Visual Studio 2019 运行项目</li>
                </ul>
                <h3>项目结构</h3>
                <ul>
                    <li>Netnr.Core 类库（引用NuGet，源码地址：<a href="https://github.com/netnr/Netnr.ClassLibrary">https://github.com/netnr/Netnr.ClassLibrary</a>）</li>
                    <li>Netnr.Data 数据访问、仓储（Scaffold-DbContext 命令自动生成）</li>
                    <li>Netnr.Domain 实体（Scaffold-DbContext 命令自动生成）</li>
                    <li>Netnr.Fast 常用方法</li>
                    <li>Netnr.Func 应用</li>
                    <li>Netnr.ResponseFramework Web站点</li>
                </ul>
                <h3>数据表</h3>
                <ul>
                    <li>用户（SysUser）</li>
                    <li>角色、角色权限（SysRole）</li>
                    <li>菜单（SysMenu）</li>
                    <li>按钮（SysButton）</li>
                    <li>日志（SysLog）</li>
                    <li>字典（SysDictionary）</li>
                    <li>表配置（SysTableConfig）</li>
                </ul>
                <h3>功能</h3>
                <ul>
                    <li>登录：系统账号登录</li>
                    <li>权限：角色权限，控制菜单及页面按钮</li>
                    <li>表格：动态配置标题、宽度、排序、对齐方式、格式化、冻结、点击排序等</li>
                    <li>表单：动态生成表单，自定义标题、排序、跨列、类型、必填等，支持多表单生成</li>
                    <li>查询：动态生成查询面板，自定义字段查询，以JSON格式表达查询条件</li>
                    <li>日志：访问日志记录</li>
                    <li>字典：通用的字典表</li>
                    <li>工具：数据库表信息展示，一键导出数据库表结构为Excel</li>
                    <li>任务：定时执行任务，清理临时目录、重置演示数据库</li>
                    <li>导出：公共导出Excel表，自定义查询主体，支持条件查询、列格式化，支持追加操作等</li>
                    <li>上传：通用的上传接口</li>
                    <li>接口：所有非页面请求规范化为接口，并用 swagger 生成可视化接口文档，<a href="https://rf2.netnr.com/swagger">https://rf2.netnr.com/swagger</a></li>
                </ul>
                <h3>使用说明</h3>
                <ol>
                    <li>创建表、写字段注释（方便生成表配置）</li>
                    <li>生成表配置，可以用【工具箱】-【表管理】-【生成表配置】，也可以直接拷贝文件夹<code>wwwroot/scripts/table-config/</code>对应的<code>SQL</code>脚本运行</li>
                    <li>修改表配置，表格，表单、查询，调整为需要展示的形式（标题、宽度、排序、输入类型、列格式化、必填、默认值等，根据业务拓展配置项）</li>
                    <li>修改表配置，输入类型配置，需要配置下拉框、下拉树等，在<code>Common</code>控制器写方法，<code>url</code>源指向这个方法访问的地址</li>
                    <li>修改表配置，列格式化配置，比如状态需要格式化为<code>启用</code>、<code>停用</code>，有常用公共的格式化方法，也可以配置自定义格式化方法<code>col_custom_字段小写</code></li>
                    <li>创建一个页面，菜单表添加此页面，配置操作按钮</li>
                    <li>写表对应的查询、保存（新增/修改）、删除方法，参考【系统设置】里面的功能</li>
                    <li>基于<code>z.js</code>封装的表格方法（API与EasyUI保持一致，看EasyUI文档即可），配置查询表的请求地址、表格类型、分页、复选等</li>
                </ol>
                <h3>截图</h3>
                <h4>列表</h4>
                <p><img alt="列表" src="https://static.netnr.com/2018/05/18/403ce7d002.png"></p>
                <h4>新增、编辑、查看</h4>
                <p><img alt="表单" src="https://static.netnr.com/2018/05/18/8d25d345b2.png"></p>
                <h4>列表配置</h4>
                <p><img alt="列表配置" src="https://static.netnr.com/2018/05/18/13da6572a3.png"></p>
                <h4>表单配置</h4>
                <p><img alt="表单配置" src="https://static.netnr.com/2018/05/18/0c98ee578c.png"></p>
                <h4>角色权限配置（树）</h4>
                <p><img alt="角色权限配置" src="https://static.netnr.com/2018/08/16/31a55cac78.png"></p>
                <h3>第三方文档API</h3>
                <ul>
                    <li><a href="https://ad.netnr.com/#EasyUI-1.5.2">EasyUI文档</a></li>
                    <li><a href="https://ad.netnr.com/#jQuery-1.11.3">jQuery文档</a></li>
                </ul>
                <h3>附</h3>
                <ul>
                    <li><a href="https://ss.netnr.com/contact">联系（打赏）</a></li>
                    <li><a href="http://qm.qq.com/cgi-bin/qm/qr?k=oLmAflGAIODgeYw9tImSvBVX1SK_warh">加入QQ群</a></li>
                </ul>
                <h3>Source</h3>
                <ul>
                    <li><a href="https://github.com/netnr/netnrf">https://github.com/netnr/netnrf</a></li>
                    <li><a href="https://gitee.com/netnr/netnrf">https://gitee.com/netnr/netnrf</a></li>
                </ul>
            </div>
        </div>
    </div>
</body>
</html>